const { defineConfig } = require('@vue/cli-service')
const {name} = require('./package')
const themeConfig = require('./src/theme')
const ThemeColorReplacer = require('webpack-theme-color-replacer')
const forElementUI = require('webpack-theme-color-replacer/forElementUI')
module.exports = defineConfig({
  transpileDependencies: true,
  publicPath: '/',
  productionSourceMap:false,
  devServer:{
    port: 8081,
    proxy:{
      "/yundianApi/": {
          target: 'http://localhost:8080',
          changeOrigin: true, // 是否改变域名
          ws: true,
          pathRewrite: {
            // 路径重写
            "^/yundianApi": "" // 这个意思就是以api开头的，定向到哪里, 如果你的后边还有路径的话， 会自动拼接上
          }
      },
      '/file/':{
        target:'https://file.scholarin.cn/',
        // target:'http://47.93.225.12:8081/',
        //target:'https://yu.scholarin.cn/file/',
        // target:'http://localhost:8082/',
        changeOrigin:true,//允许跨域
        pathRewrite: {
            '^/file': '/'
        }
      },
      "/minioUrl": {
        target: 'http://124.16.154.205:9000/',
        changeOrigin: true, // 是否改变域名
        ws: true,
        pathRewrite: {
          // 路径重写
          "^/minioUrl": "" // 这个意思就是以api开头的，定向到哪里, 如果你的后边还有路径的话， 会自动拼接上
        }
      },
      "/oauth-api": {
          target: 'https://yundian.stpaper.cn/oauth-api/',
          changeOrigin: true, // 是否改变域名
          ws: true,
          pathRewrite: {
            // 路径重写
              '^/oauth-api':'/' // 这个意思就是以api开头的，定向到哪里, 如果你的后边还有路径的话， 会自动拼接上
          }
      },
      "/minioUrl": {
            target: 'http://124.16.154.205:9000/',
            changeOrigin: true, // 是否改变域名
            ws: true,
            pathRewrite: {
              // 路径重写
              "^/minioUrl": "" // 这个意思就是以api开头的，定向到哪里, 如果你的后边还有路径的话， 会自动拼接上
            }
        },
      "/toolsApi/": {
        // target: 'http://localhost:8099',
        target:'http://124.16.154.42:8099',
        changeOrigin: true, // 是否改变域名
        ws: true,
        pathRewrite: {
          // 路径重写
          "^/toolsApi": "" // 这个意思就是以api开头的，定向到哪里, 如果你的后边还有路径的话， 会自动拼接上
        }
      },
      "/child/": {
        // target: 'http://localhost:8099',
        target:'http://124.16.154.205:8888/child/',
        changeOrigin: true, // 是否改变域名
        ws: true,
        pathRewrite: {
          // 路径重写
          "^/child": "" // 这个意思就是以api开头的，定向到哪里, 如果你的后边还有路径的话， 会自动拼接上
        }
      },
      "/xiv-api/": {
        // target: 'http://localhost:8099',
        target:'http://124.16.154.205:82/',
        changeOrigin: true, // 是否改变域名
        ws: true,
        pathRewrite: {
          // 路径重写
          "^/xiv-api": "" // 这个意思就是以api开头的，定向到哪里, 如果你的后边还有路径的话， 会自动拼接上
        }
      },
    }
  },
  configureWebpack: {
    output: {
        library: `${name}-[name]`,
        libraryTarget: 'umd',// 把微应用打包成 umd 库格式
        chunkLoadingGlobal: `webpackJsonp_${name}`,
    },
    plugins: [
        new ThemeColorReplacer({
            matchColors:  themeConfig.getThemeColors(themeConfig.themeColor, forElementUI.getElementUISeries, ThemeColorReplacer.varyColor, []),
            // fileName: '/static/theme-colors-[contenthash:8].css', //optional. output css file name, suport [contenthash] and [hash].
            externalCssFiles: ['./node_modules/@zkwq/business/dist/var.scss'], // optional, String or string array. Set external css files (such as cdn css) to extract colors.
            changeSelector: forElementUI.changeSelector,
            injectCss: true, // optional. Inject css text into js file, no need to download `theme-colors-xxx.css` any more.
            isJsUgly: process.env.NODE_ENV !== 'development', // optional. Set to `true` if your js is uglified. Default is set by process.env.NODE_ENV.
        })
    ]
  }
})
